package com.banmajio.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;

/**
 * <p>
 * 志愿服务活动(volunteer service activity)
 * </p>
 *
 * @author edm.northking.net
 * @since 2023-06-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class VolunteerServiceActivity extends BaseEntity {


    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    private String name;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long voluntaryOrgId;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date startDate;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endDate;

    private String description;

    private String serviceArea;

    private String serviceAreaName;

    private String address;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date recruitStartDate;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date recruitEndDate;

    private String serviceCategory;

    private String positionJson;

    private String contractName;

    private String contractMobile;

    private String contractTelephone;

    private String contractEmail;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long totalServiceHour;

    private Integer realNumberOfService;

    private String voluntaryOrgName;

    private Integer status;

    private String dynamicInfo;

    private String location;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startCreateTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endCreateTime;

    private Integer signType;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm:ss")
    private Date setSignInTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm:ss")
    private Date setSignOutTime;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long assEventId;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long supplyEventId;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long projectId;

    private String areaPath;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal lat;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal lng;

    private Integer range;

    private Integer state=0;

    private String files;

    private String fileId;

    private String fileName;

    private String operationReason;

    private Integer volunteerStatus;

    private String areaGroup;

    private Integer myStatus;

    private Long userId;

    private Set<String> serviceAreaList;

    private String showServiceHour;

    private Integer isPublic;

    private Integer joinMode;

    private String actPwd;

    private String volunteerInfoId;
}
